<?php

namespace App\Models\Information;

use App\Models\BaseModel;

class InformationOrderModel extends BaseModel
{
    /**
     * 与模型关联的数据表。
     *
     * @var string
     */
    protected $table = 'information_order';

    /**
     * 可以被批量赋值的属性。
     *
     * @var array
     */
    protected $fillable = array(
        'ordersno',
        'name',
        'phone',
        'idcard',
        'province',
        'city',
        'area',
        'address',
        'sup_id',
        'sup_name',
        'sup_orderno',
        'status',
        'status_desc',
        'three_msg',
        'iccid',
        'express_company',
        'express_number',
        'goods_id',
        'goods_name',
        'goods_code',
        'product_id',
        'product_name',
        'product_code',
        'sell_name',
        'shop_id',
        'channel_code',
        'page_id',
        'page_name',
        'adid'
    );
    // public $timestamps = false; // 防止updated_at 报错

    public function aliasRable($alias)
    {
        return $this->setTable($alias);
    }
    protected function serializeDate(\DateTimeInterface $date)
    {
        return $date->format('Y-m-d H:i:s');
    }
    /**
     * 查询数据需要过滤掉的属性。
     *
     * @var array
     */

    protected $hidden = array(
        'updated_at'
    );
    //返回关键字段
    public function getTableField()
    {
        return $this->fillable;
    }
    /**
     * 建表语句
     */
    protected function buildTable($name = '')
    {
        $tablename = $this->table;
        if (!empty($name)) {
            $tablename = $name;
        }
        $table  = "CREATE TABLE IF NOT EXISTS  $tablename (
        `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
        `ordersno` varchar(100) DEFAULT NULL COMMENT '订单编号',
        `name` varchar(100) DEFAULT NULL COMMENT '用户名称',
        `phone` varchar(100) DEFAULT NULL COMMENT '联系方式',
        `idcard` varchar(100) DEFAULT NULL COMMENT '身份证信息',
        `province` varchar(100) DEFAULT NULL COMMENT '省',
        `city` varchar(100) DEFAULT NULL COMMENT '市',
        `area` varchar(100) DEFAULT NULL COMMENT '区',
        `address` varchar(255) DEFAULT NULL COMMENT '详细地址',
        `sup_id` int(11) DEFAULT NULL COMMENT '上游id信息',
        `sup_name` varchar(100) DEFAULT NULL COMMENT '上游名称',
        `sup_orderno` varchar(100) DEFAULT NULL COMMENT '上游单号',
        `status` varchar(100) DEFAULT NULL COMMENT '订单状态',
        `status_desc` varchar(100) DEFAULT NULL COMMENT '订单状态',
        `three_msg` varchar(255) DEFAULT NULL COMMENT '失败原因',
        `iccid` varchar(20) DEFAULT NULL COMMENT '购买手机号',
        `express_company` varchar(100) DEFAULT NULL COMMENT '物流信息',
        `express_number` varchar(100) DEFAULT NULL COMMENT '物流单号',
        `goods_id` int(11) DEFAULT NULL COMMENT '商品ID',
        `goods_name` varchar(100) DEFAULT NULL COMMENT '商品名称',
        `goods_code` varchar(100) DEFAULT NULL COMMENT '商品编码',
        `product_id` int(11) DEFAULT NULL COMMENT '产品ID',
        `product_name` varchar(100) DEFAULT NULL COMMENT '产品名称',
        `product_code` varchar(100) DEFAULT NULL COMMENT '产品编码',
        `channel_code` varchar(100) DEFAULT NULL COMMENT '上游编码',
        `sell_name` varchar(10) DEFAULT NULL COMMENT '销售员',
        `shop_id` int(11) DEFAULT '0' COMMENT '店铺id',
        `created_by` int(11) DEFAULT '0' COMMENT '创建者',
        `created_by_name` varchar(64) DEFAULT '' COMMENT '创建者名称',
        `created_at` datetime DEFAULT NULL COMMENT '创建时间',
        `updated_by` varchar(64) DEFAULT '' COMMENT '更新者',
        `updated_at` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
        PRIMARY KEY (`id`),
        KEY `ordersno` (`ordersno`),
        KEY `idcard` (`idcard`),
        KEY `shop_id` (`shop_id`),
        KEY `goods_id` (`goods_id`)
        ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COMMENT='页面配置表';";
        return $table;
    }
    /**
     * 插入新的字段
     */
    protected function bulidField()
    {
        $array = [
            'page_id' => "int(11) DEFAULT null COMMENT '页面id'",
            'page_name' => "varchar(255) DEFAULT null COMMENT '页面名称'",
            'adid' => "varchar(255) DEFAULT null COMMENT '广告id'",
        ];
        return $array;
    }
    public function orderStatus()
    {
        return [
            0 => '提交中',
            1 => '提交运营商',
            // 2 => '拒收单',
            3 => '需上传证件照',
            10 => '审核中',
            11 => '待发货',
            20 => '已发货',
            30 => '已签收',
            40 => '已激活',
            50 => '异常单',
            51 => '取消单',
            60 => '失败单'
        ];
    }
    public function getOrderStatusDesc($key)
    {
        $allStatus = $this->orderStatus();
        return !empty($allStatus[$key]) ? $allStatus[$key] : '未知状态';
    }
    // 关联 role表
    public function userToRole($role)
    {
        // return $this->hasMany(Role::className(),);
    }
}
